Agile Modeling is a practice-based methodology for modeling and documentation of software-based systems. It is intended to be a collection of values, principles, and practices for Modeling software that can be applied on a software development project in a more flexible manner than traditional Modeling methods.
Agile Modeling is a supplement to other Agile methodologies such as:
In which it is used to replace the more standard UML, or other standard design tools.
Contents |
The principles and values of Agile Modeling practices are intended to help mitigate the perceived flaws of Agile Software Development. The principle "Maximize stakeholder value" aims to inspire the developer to collaborate with the customer in providing an adequate level of documentation.
The principle "Model with others" attempts to involve project stakeholders such as the client or customer in the Modeling process to attempt to bring the model more into line with the end user requirements.
There is significant dependence on personal communication and customer collaboration. Agile Modeling disciplines can be difficult to apply where there are large teams (in Agile methodologies 'large' is typically considered as anything more than around 8), team members are unable to share and collaborate on models, or modeling skills are weak or lacking. However, the emergence of cloud modeling offerings that respect the tenets of Agile software development may significantly reduce or even eliminate most of these concerns.